﻿Option Strict On

Namespace FTP
    ''' <summary>
    ''' Defines the possible versions of FtpSecurityProtocol.
    ''' </summary>
    Public Enum FtpSecurityProtocol As Integer
        ''' <summary>
        ''' No security protocol specified.
        ''' </summary>
        None
        ''' <summary>
        ''' Specifies Transport Layer Security (TLS) version 1.0 is required to secure communciations.  The TLS protocol is defined in IETF RFC 2246 and supercedes the SSL 3.0 protocol.
        ''' </summary>
        ''' <remarks>
        ''' The AUTH TLS command is sent to the FTP server to secure the connection.  TLS protocol is the latest version of the SSL protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' </remarks>
        Tls1Explicit
        ''' <summary>
        ''' Specifies Transport Layer Security (TLS) version 1.0. or Secure Socket Layer (SSL) version 3.0 is acceptable to secure communications in explicit mode.
        ''' </summary>
        ''' <remarks>
        ''' The AUTH SSL command is sent to the FTP server to secure the connection but the security protocol is negotiated between the server and client.  
        ''' TLS protocol is the latest version of the SSL 3.0 protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' </remarks>
        Tls1OrSsl3Explicit
        ''' <summary>
        ''' Specifies Secure Socket Layer (SSL) version 3.0 is required to secure communications in explicit mode.  SSL 3.0 has been superseded by the TLS protocol
        ''' and is provided for backward compatibility only
        ''' </summary>
        ''' <remarks>
        ''' The AUTH SSL command is sent to the FTP server to secure the connection.  TLS protocol is the latest version of the SSL 3.0 protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' Some FTP server do not implement TLS or understand the command AUTH TLS.  In those situations you should specify the security
        ''' protocol Ssl3, otherwise specify Tls1.
        ''' </remarks>
        Ssl3Explicit
        ''' <summary>
        ''' Specifies Secure Socket Layer (SSL) version 2.0 is required to secure communications in explicit mode.  SSL 2.0 has been superseded by the TLS protocol
        ''' and is provided for backward compatibility only.  SSL 2.0 has several weaknesses and should only be used with legacy FTP server that require it.
        ''' </summary>
        ''' <remarks>
        ''' The AUTH SSL command is sent to the FTP server to secure the connection.  TLS protocol is the latest version of the SSL 3.0 protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' Some FTP server do not implement TLS or understand the command AUTH TLS.  In those situations you should specify the security
        ''' protocol Ssl3, otherwise specify Tls1.
        ''' </remarks>
        Ssl2Explicit
        ''' <summary>
        ''' Specifies Transport Layer Security (TLS) version 1.0 is required to secure communciations in explicit mode.  The TLS protocol is defined in IETF RFC 2246 and supercedes the SSL 3.0 protocol.
        ''' </summary>
        ''' <remarks>
        ''' The AUTH TLS command is sent to the FTP server to secure the connection.  TLS protocol is the latest version of the SSL protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' </remarks>
        Tls1Implicit
        ''' <summary>
        ''' Specifies Transport Layer Security (TLS) version 1.0. or Secure Socket Layer (SSL) version 3.0 is acceptable to secure communications in implicit mode.
        ''' </summary>
        ''' <remarks>
        ''' The AUTH SSL command is sent to the FTP server to secure the connection but the security protocol is negotiated between the server and client.  
        ''' TLS protocol is the latest version of the SSL 3.0 protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' </remarks>
        Tls1OrSsl3Implicit
        ''' <summary>
        ''' Specifies Secure Socket Layer (SSL) version 3.0 is required to secure communications in implicit mode.  SSL 3.0 has been superseded by the TLS protocol
        ''' and is provided for backward compatibility only
        ''' </summary>
        ''' <remarks>
        ''' The AUTH SSL command is sent to the FTP server to secure the connection.  TLS protocol is the latest version of the SSL 3.0 protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' Some FTP server do not implement TLS or understand the command AUTH TLS.  In those situations you should specify the security
        ''' protocol Ssl3, otherwise specify Tls1.
        ''' </remarks>
        Ssl3Implicit
        ''' <summary>
        ''' Specifies Secure Socket Layer (SSL) version 2.0 is required to secure communications in implicit mode.  SSL 2.0 has been superseded by the TLS protocol
        ''' and is provided for backward compatibility only.  SSL 2.0 has several weaknesses and should only be used with legacy FTP server that require it.
        ''' </summary>
        ''' <remarks>
        ''' The AUTH SSL command is sent to the FTP server to secure the connection.  TLS protocol is the latest version of the SSL 3.0 protcol and is the security protocol that should be used whenever possible.
        ''' There are slight differences between SSL version 3.0 and TLS version 1.0, but the protocol remains substantially the same.
        ''' Some FTP server do not implement TLS or understand the command AUTH TLS.  In those situations you should specify the security
        ''' protocol Ssl3, otherwise specify Tls1.
        ''' </remarks>
        Ssl2Implicit
    End Enum
End Namespace